package com.buaa.service;

import java.util.List;
import java.util.Map;

/**
 * Title: 仪器Service接口 <br/>
 * Description: <br/>
 * Company: BUAA
 *
 * @author 伟宏
 * @date 2017年1月16日
 * @modify 2017年04月30日
 */
public interface InstrumentService {

	/**
	 * 统计信息服务-统计数据
	 * 
	 * @param loctype
	 *            显示级别：省/市/县/单位
	 * @return
	 */
	public String sumInfo(String loctype);

	/**
	 * 统计信息服务-获取柱状图数据
	 * 
	 * @param quyu
	 * @param loctype
	 *            显示级别：省/市/县/单位
	 * @param zhibiao
	 *            资源分类指标
	 * @return
	 */
	public Map<String, Long> getCount(String quyu, String loctype, String zhibiao);

	/**
	 * 内容搜索服务-获取所有仪器类型
	 * 
	 * @return
	 */
	public List<Object> findAllType();

	/**
	 * 内容搜索服务
	 * 
	 * @param loctype
	 *            显示级别：省/市/县/单位
	 * @param yqmc
	 *            仪器名称
	 * @param ssdw
	 *            所属机构
	 * @param yqmccxfs
	 *            仪器名称查询方式（模糊/精准）
	 * @param yqlx
	 *            仪器类型
	 * @param yqcd
	 *            仪器产地
	 * @return
	 */
	public String contentSearch(String loctype, String yqmc, String ssdw, String yqmccxfs, String yqlx, String yqcd);
	
	public String contentSearch2(String loctype, String yqmc, String ssdw, String yqmccxfs,String ssdwcxfs, String yqlx, String yqcd);

	/**
	 * 获取alllist信息
	 * 
	 * @param loctype
	 * @return
	 */
	public List<Object[]> getAllList(String loctype);

	/**
	 * 获取countlist信息
	 * 
	 * @param quyu
	 * @param loctype
	 * @param zhibiao
	 * @return
	 */
	public List<Object> getCountList(String quyu, String loctype, String zhibiao);

	/**
	 * 获取cx表1信息
	 * 
	 * @param yqmc
	 * @param ssdw
	 * @param yqmccxfs
	 * @param yqlx
	 * @param yqcd
	 * @param quyu
	 * @param loctype
	 * @return
	 */
	public List<Object[]> getCxTable1Info(String yqmc, String ssdw, String yqmccxfs, String yqlx, String yqcd,
			String quyu, String loctype);

	public List<Object[]> getCxTable1Info2(String yqmc, String ssdw, String yqmccxfs, String ssdwcxfs, String yqlx,
			String yqcd, String quyu, String loctype);

	/**
	 * 获取表1信息
	 * 
	 * @param zhibiao
	 * @param zhibiaomc
	 * @param quyu
	 * @param loctype
	 * @param page
	 * @return
	 */
	public List<Object> getTable1Info(String zhibiao, String zhibiaomc, String quyu, String loctype, String page);

	/**
	 * 获取表2信息
	 * 
	 * @param id
	 * @return
	 */
	public List<Object[]> getTable2Info(String id);
	
	public List<Object[]> getInstrumentByResource(String id,String resource);
	
	public Map<String, Object>  getInstrumentDetail(String id);
	
	public List<Object[]>  getRelationInstrument(String id);
	
	
	/**
	 * 获取比较信息
	 * 
	 * @param totalid
	 * @return
	 */
	public String[][] getCp(String totalid);

	/**
	 * 指数分析-获取仪器指标数量
	 * 
	 * @param zhibiao
	 * @return
	 */
	public String getSum(String zhibiao);
	
	/**
	 * 指数分析-获取仪器分布详细
	 * 
	 * @return
	 */
	public List<Object[]> getFb();
	
	/**
	 * 指数分析-获取仪器分布概要
	 * 
	 * @return
	 */
	public List<Map<String, Object>> getFb2();
	
	/**
	 * 获取各个区县的仪器数目
	 * 
	 * @return
	 */
	public String getCitySum();
	
}
